One-step hologram (including holographic stereogram) production technology has been used to satisfactorily record holograms in holographic recording materials without the traditional step of creating preliminary holograms. Both computer image holograms and non-computer image holograms may be produced by such one-step technology. In some one-step systems, computer processed images of objects or computer models of objects allow the respective system to build a hologram from a number of contiguous, small, elemental pieces known as hologram elements or hogels. To record each hogel on holographic recording material, an object beam is conditioned through the rendered image and interfered with by a reference beam. A number of hogels recorded together on the same piece of holographic recording material is often referred to as a tile. Examples of techniques for one-step hologram production can be found in the U.S. Patent Application entitled “Method and Apparatus for Recording One-Step, Full-Color, Full-Parallax, Holographic Stereograms,” Ser. No. 09/098,581, naming Michael A. Klug, Mark E. Holzbach, and Alejandro J. Ferdman as inventors, and filed on Jun. 17, 1998, which is hereby incorporated by reference herein in its entirety. Two-step holograms are created using indirect or transfer methods, that require recording a transfer hologram before printing the master hologram.
FIG. 1 illustrates the relationship between a hogel 120 and the computer graphics image 130 used to create the hogel (this relationship is similar to the relationship among hologram printer components such as a spatial light modulator and holographic recording material, as discussed below). The computer graphics image 130 is made up of a number of pixels 140 each of which can have data values depending on, for example, color and intensity. Each of the pixels 140 can define a directional image sample through the hologram. As illustrated by arrows 150 and 160, the relative position of each pixel 140 with respect to hogel 120 can be used to define directions in which a three-dimensional (3D) computer graphics scene can be viewed and/or rendered.
Similarly, two elements of a hologram production system 100 are shown in FIG. 1. Spatial light modulator (SLM) 130 includes a number of pixels 140 upon which a computer graphics image can be displayed. An object beam (not shown) passes through spatial light modulator 130, which modifies the intensity of the object beam according to values of the various pixels 140. This object beam typically passes through optics (not shown) so that when the object beam reaches tile 110, it can be used in conjunction with a reference beam to form an interference pattern which is recorded as hogel 120.
Distortion associated with the generation of hogels for horizontal-parallax-only (HPO) holographic stereograms is analyzed Michael W. Halle in The Generalized Holographic Stereogram, Master's Thesis, Massachusetts Institute of Technology, February 1991, which is hereby incorporated by reference herein in its entirety. In general for HPO holographic stereograms, the best viewer location where a viewer of a holographic stereogram can see an undistorted image is at the plane where the camera (or the camera model in the case of computer graphics images) captured the scene. This is an undesirable constraint on the viewability of holographic stereograms. Using several different techniques, one can compensate for the distortion introduced when the viewer is not at the same depth with respect to the hologram as the camera.
An anamorphic physical camera can be created with a standard spherical-surfaced lens coupled with a cylindrical lens, or alternately two crossed cylindrical lenses can be used. Using these optics, one can independently adjust horizontal and vertical detail in the stereogram images, thereby avoiding distortion. Such physical systems are typically large, expensive devices that can require constant readjustment throughout the hologram production process. For these and other reasons, anamorphic optics are typically used to correct for distortion in holographic stereogram production.
For a computer graphics camera, horizontal and vertical independence means that perspective calculations can be altered in one direction without affecting the other. Moreover, since the source of the images used for producing a holographic stereogram are typically rendered computer graphics images (or digital photographs), correcting the distortion as part of the image generation process is a common technique.
For example, if the computer graphics images being rendered can be rendered as if seen through the aforementioned physical optics (e.g., using ray tracing where the computer graphics model includes the optics between the scene and the computer graphics camera), then hogel images that account for distortion can be directly rendered. However, such an application of ray tracing is currently impractical given the speed of software ray-tracers, the expense of hardware ray-tracers, and the size of the data sets typically involved in holographic stereogram production.
Another technique for rendering hogel images that are “pre-distorted” is described in M. Halle and A Kropp, “Fast Computer Graphics Rendering for Full Parallax Spatial Displays,” Practical Holography XI, Proc. SPIE, vol. 3011, pages 105-112, Feb. 10-11, 1997, which is hereby incorporated by reference herein in its entirety. While useful for its speed, the techniques of Halle and Kropp often introduce additional (and undesirable) rendering artifacts and are susceptible to problems associated with anti-aliasing. Improvements upon the techniques of Halle and Kropp are discussed in the U.S. Patent entitled “Rendering Methods For Full Parallax Autosteroscopic Displays,” Ser. No. 09/474,361, naming Mark E. Holzbach and David Chen as inventors, and filed on Dec. 29, 1999, which is hereby incorporated by reference herein in its entirety.
Still another technique for rendering hogel images utilizes a computer graphics camera whose horizontal perspective (in the case of horizontal-parallax-only (HPO) and full parallax holographic stereograms) and vertical perspective (in the case for fill parallax holographic stereograms) are positioned at infinity. Consequently, the images rendered are parallel oblique projections of the computer graphics scene, ie., each image is formed from one set of parallel rays that correspond to one “direction”. If such images are rendered for each of (or more than) the directions that a hologram printer is capable of printing, then the complete set of images includes all of the image data necessary to assemble all of the hogels.
This last technique is particularly useful for creating holographic stereograms from images created by a computer graphics rendering system utilizing imaged-based rendering. Image-based rendering systems typically generate different views of an environment from a set of pre-acquired imagery.
The development of image-based rendering techniques generally, and the application of those techniques to the field of holography have inspired the development of light field rendering as described by, for example, M. Levoy and P. Hanrahan in “Light Field Rendering,” in Proceedings of SIGGRAPH′96, (New Orleans, La., Aug. 4-9, 1996), and in Computer Graphics Proceedings, Annual Conference Series, pages 31-42, ACM SIGGRAPH, 1996, which are hereby incorporated by reference herein in their entirety. The light field represents the amount of light passing through all points in 3D space along all possible directions. It can be represented by a high-dimensional function giving radiance as a function of time, wavelength, position and direction. The light field is relevant to image-based models because images are two-dimensions projections of the light field. Images can then be viewed as “slices” cut through the light field. Additionally, one can construct higher-dimensional computer-base models of the light field using images. A given model can also be used to extract and synthesize new images different from those used to build the model.
Formally, the light field represents the radiance flowing through all the points in a scene in all possible directions. For a given wavelength, one can represent a static light field as a five-dimensional (5D) scalar function L(x, y, z, θ, φ) that gives radiance as a function of location (x, y, z) in 3D space and the direction (θ, φ) the light is traveling. Note that this definition is equivalent to the definition of plenoptic function. Typical discrete (i.e., those implemented in real computer systems) light-field models represent radiance as a red, green and blue triple, and consider static time-independent light-field data only, thus reducing the dimensionality of the light-field function to five dimensions and three color components. Modeling the light-field thus requires processing and storing a 5D function whose support is the set of all rays in 3D Cartesian space. However, light field models in computer graphics usually restrict the support of the light-field function to four dimensional (4D) oriented line space. Two types of 4D light-field representations have been proposed, those based on planar parameterizations and those based on spherical, or isotropic, parameterizations.
As discussed in the aforementioned U.S. patent application Ser. No. 09/760,097, isotropic parameterizations are particularly useful for applications in computer generated holography. Isotropic models, and particularly direction-and-point parameterizations (DPP) introduce less sampling bias than planar parameterizations, thereby leading to a greater uniformity of sample densities. In general, DPP representations are advantageous because they require fewer correction factors than other representations, and thus their parameterization introduces fewer biases in the rendering process.
Returning to FIG. 1 as an example, if each line between the center of each pixel 140 and the center of hogel 120 defines a direction (e.g., directions 150 and 160), then parallel oblique projections can be rendered (using image-based rendering or other technique) for each direction. Each image resulting from the rendering represents a single direction, and includes a data value (e.g. a pixel intensity) for each hogel in tile 110. Consequently, the information needed to record any one hogel is distributed across a number of images. For example, the first pixel value of the first hogel of the tile is in the first image, the second pixel value for the first hogel is in the second image, the third pixel value for the first hogel is in the third image, and so on. Thus, image data must be rearranged to form hogels. Some techniques for rearranging or reparameterizing such data are described in the aforementioned master's thesis The Generalized Holographic Stereogram. However, the techniques described in The Generalized Holographic Stereogram concentrate on HPO applications, and do little to address the significant data management problems associated with creating desirable holographic stereograms.
For example, the hologram printers described in the in the aforementioned U.S. patent application Ser. No. 09/098,581, are capable of producing tiles that have 300 by 300 hogels (each hogel being approximately 2 mm by 2 mm). A typical spatial light modulator for such a system is a liquid crystal display (LCD) having a resolution of 1280 by 1024 pixels, where the relationship between each pixel and the hogel defines a rendering direction. If each pixel of each image is rendered in 24 bit color (3 bytes per pixel), then 300×300×1280×1024×3=342,835,200,000 bytes (approximately 335 GB) of data is required. With that much data, it is difficult to efficiently rearrange the image data to produce hogel images, given computer system memory capacity, storage capacity, storage latency, storage access transfer speeds, network bandwidth and latency, and processor constraints.
Accordingly, it is desirable to have efficient image data processing techniques for use in preparing hogel images for use in the production of holographic stereograms.